# -*- coding:utf-8 -*-

'''第三方库PIL学习'''

from PIL import Image
    
# 打开图片
im = Image.open('image/naruto.jpg')
# 获取尺寸
w, h = im.size
print ('图片宽=' + str(w) + 'px,图片高=' + str(h) + 'px')

# 图片压缩到50%
im.thumbnail((w / 2, h / 2))
# 保存压缩后的图片
im.save('image/naruto_thumb.jpg', 'jpeg')

from PIL import ImageFilter
# 获取要模糊的图片
im_thumb = Image.open('image/naruto_thumb.jpg')
# 模糊
im_thumb_blur = im_thumb.filter(ImageFilter.BLUR)
# 保存
im_thumb_blur.save('image/naruto_thumb_blur.jpg', 'jpeg')

'''旋转并保存'''
im2 = Image.open('image/naruto_thumb_blur.jpg').rotate(45).save('image/naruto_thumb_rotate.jpg', 'jpeg')


'''创建一张图'''
im3 = Image.new('RGB', (200, 200), 'red').save('image/new.jpg', 'jpeg')


import random, string

# 生成一个10-20之间的随机整数
print (random.randint(10, 20))
# 生成一个10-20之间的随机浮点数
print (random.uniform(10, 20))
# 随机生成一个0-1之间的浮点数
print (random.random())
# 随机选取range(0,100,2)中的数
print (random.randrange(0, 100, 2))
# 随机选取一项
print (random.choice(['a', 'b', 'x', 'f', 'r']))
#随机排列目标序列
data=[1,2,3,4,5,6,7]
random.shuffle(data)
print (data)

'''绘制随机颜色生成的图片'''
from PIL import ImageDraw

#随机生成颜色
def rndColor():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

width = 200;
height = 100;
# 创建一张图片
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Draw对象
draw = ImageDraw.Draw(image)
#绘制图片上的每个点
for x in range(width):
    for y in range(height):
        draw.point((x,y), fill=rndColor())


'''绘制文本'''
from PIL import ImageFont

font=ImageFont.truetype('image/Arial.ttf', 36)

#生成随机字母
def rndLetter():
    return chr(random.randint(65, 90))

#生成随机的字谜的颜色
def rndLetterColor():
    return (random.randint(64, 255),random.randint(64, 255),random.randint(64, 255))

draw.text((10,10), rndLetter(), rndLetterColor(), font)

image.save('image/random.jpg', 'jpeg')

